<?php
namespace App\Api\Helpers\Upload;

use Doctrine\DBAL\Schema\AbstractAsset;

trait Single
{
    /**
     * @var string[]
     * 单张图片上传
     * $file:文件
     * $folder:项目名，类似于头像上传 $folder='avatar'；
     */

    // 只允许以下后缀名的图片文件上传
        protected $allowed_ext = ["png", "jpg", "gif", 'jpeg'];

    public function save($file,$folder)
    {


        // 获取文件的后缀名，因图片从剪贴板里黏贴时后缀名为空，所以此处确保后缀一直存在
        $extension = strtolower($file->getClientOriginalExtension()) ?: 'png';

        // 如果上传的不是图片将终止操作
        if ( ! in_array($extension, $this->allowed_ext)) {
            return false;
        }

        $path = $file->store('/public/avatars/'.date('Y-m-d'));//放入文件磁盘，并返回路径

        /**
         *  $path = 'public/avatars/2020-07-08/FbNfQlTdeuMcDGunWTjkM2U0wJmWumpRNFoIWcnw.jpeg';
         *  需要截取路径 ，去掉public
         */
        $url = substr($path,strpos($path,'/'));
        $image_url = config('app.url') . "/storage".$url;

        return  $image_url;
    }

}
